<?php

require_once("MateriasBDFacade.php");

class Curso {

    private $estudiante = NULL;
    private $materia = NULL;
    private $mesIni = NULL;
    private $mesFin = NULL;
    private $anio = NULL;
    private $calificacion = NULL;
    private $profesorID = NULL;
    private $profesorNombre = NULL;
    private $profesorApellido = NULL;

    public function __construct() {
        if (func_num_args() == 5) {
            $fachadaBD = MateriasBDFacade::getInstance();
            $this->estudiante = func_get_arg(0);
            $this->materia = func_get_arg(1);
            $this->mesIni = func_get_arg(2);
            $this->mesFin = func_get_arg(3);
            $this->anio = func_get_arg(4);
            if (!($attributes = $fachadaBD->existeCurso(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4)))) {
                die("ERROR: Curso constructor: instance doesn't exists.");
            }
            $this->calificacion = $attributes[5];
            $this->profesorID = $attributes[6];
            $this->profesorNombre = $attributes[7];
            $this->profesorApellido = $attributes[8];
        } else if (func_num_args() == 0) {
            //Trivial constructor
        } else {
            die("ERROR: Curso constructor: wrong number of arguments.");
        }
    }

    public function getEstudiante() {
        return $this->estudiante;
    }

    public function getMateria() {
        return $this->materia;
    }

    public function getMesIni() {
        return $this->mesIni;
    }

    public function getMesFin() {
        return $this->mesFin;
    }

    public function getAnio() {
        return $this->anio;
    }

    public function getCalificacion() {
        return $this->calificacion;
    }

    public function getProfesorID() {
        return $this->profesorID;
    }

    public function getProfesorNombre() {
        return $this->profesorNombre;
    }

    public function getProfesorApellido() {
        return $this->profesorApellido;
    }

    public function setEstudiante($estudiante) {
        $this->estudiante = $estudiante;
    }

    public function setMateria($materia) {
        $this->materia = $materia;
    }

    public function setMesIni($mesIni) {
        $this->mesIni = $mesIni;
    }

    public function setMesFin($mesFin) {
        $this->mesFin = $mesFin;
    }

    public function setAnio($anio) {
        $this->anio = $anio;
    }

    public function setCalificacion($calificacion) {
        $this->calificacion = $calificacion;
    }

    public function setProfesorID($profesorID) {
        $this->profesorID = $profesorID;
    }

    public function setProfesorNombre($profesorNombre) {
        $this->profesorNombre = $profesorNombre;
    }

    public function setProfesorApellido($profesorApellido) {
        $this->profesorApellido = $profesorApellido;
    }

}

?>
